<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>接口自动化测试报告</title>
    <meta name="generator" content="HTMLTestReportCN 0.8.4"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
    
<style type="text/css" media="screen">
body        { font-family: Microsoft YaHei,Tahoma,arial,helvetica,sans-serif;padding: 20px; font-size: 100%; }
table       { font-size: 100%; }
/* -- heading ---------------------------------------------------------------------- */
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
    width: 50%;
    height: 230px;
    float: left;
}
.div_a {
    height:250x;
}
.div_r {
    width: 50%;
    height:230px;
    float: right;
    margin-bottom: 1ex;
    margin-top: 50px;
}
.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}
/* -- report ------------------------------------------------------------------------ */
#total_row  { font-weight: bold; }
.passCase   { color: #5cb85c; }
.failCase   { color: #d9534f; font-weight: bold; }
.errorCase  { color: #f0ad4e; font-weight: bold; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }
</style>

</head>
<body >
<div class='div_a'>
<div class='heading'>
<h1 style="font-family: Microsoft YaHei">接口自动化测试报告</h1>
<p class='attribute'><strong>测试人员 : </strong> Linux超</p>
<p class='attribute'><strong>开始时间 : </strong> 2019-06-18 10:31:34</p>
<p class='attribute'><strong>合计耗时 : </strong> 0:01:00.595933</p>
<p class='attribute'><strong>测试结果 : </strong> 共 74，通过 66，失败 8，通过率= 89.19%</p>

<p class='description'>Windows Version:Windows10.0.1713410Python Versionv3.6.4:d48eceb</p>
</div>
<div class="div_r">
	<p>
    <canvas id="canvas_circle"></canvas>
</p>
</div>
</div>


<p id='show_detail_line'>
<a class="btn btn-primary" href='javascript:showCase(4)'>预览{ 89.19% }</a>
<a class="btn btn-success" href='javascript:showCase(0)'>通过{ 66 }</a>
<a class="btn btn-danger" href='javascript:showCase(1)'>失败{ 8 }</a>
<a class="btn btn-warning" href='javascript:showCase(2)'>错误{ 0 }</a>
<a class="btn btn-info" href='javascript:showCase(3)'>全览{ 74 }</a>
</p>
<table id='result_table' class="table table-condensed table-bordered table-hover">
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row' class="text-center active" style="font-weight: bold;font-size: 14px;">
    <td>用例集/测试用例</td>
    <td>总计</td>
    <td>通过</td>
    <td>失败</td>
    <td>错误</td>
    <td>详细</td>
</tr>

<tr class='danger'>
    <td>test_AsendCode.TestSendCodeApi: 发送短信验证码接口</td>
    <td class="text-center">12</td>
    <td class="text-center">10</td>
    <td class="text-center">2</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c1',12)" class="detail" id='c1'>详细</a></td>
</tr>

<tr id='pt1_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_01_发送成功_所有参数正确</div></td>
    <td colspan='5' align='center'><button id='btn_pt1_1' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt1_1'>通过</button></td>
</tr>

<tr id='pt1_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_02_发送成功_IP地址非String类型</div></td>
    <td colspan='5' align='center'><button id='btn_pt1_2' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt1_2'>通过</button></td>
</tr>

<tr id='pt1_3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_03_发送失败_IP地址为空</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_3' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_3'>通过</button>
    <div id='div_pt1_3' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_3' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_3'>通过</button>
    <div id='div_pt1_3' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_3: &lt;suds.sax.document.Document object at 0x0000011128B309E8&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_4' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_04_发送失败_IP地址参数缺失</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_4' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_4'>通过</button>
    <div id='div_pt1_4' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_4' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_4'>通过</button>
    <div id='div_pt1_4' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_4: &lt;suds.sax.document.Document object at 0x0000011128B89D68&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_5' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_05_发送失败_短信模板参数缺失</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_5' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_5'>通过</button>
    <div id='div_pt1_5' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_5' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_5'>通过</button>
    <div id='div_pt1_5' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_5: &lt;suds.sax.document.Document object at 0x0000011128AC5CF8&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_6' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_06_发送失败_手机号码参数缺失</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_6' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_6'>通过</button>
    <div id='div_pt1_6' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_6' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_6'>通过</button>
    <div id='div_pt1_6' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_6: &lt;suds.sax.document.Document object at 0x0000011128B0BA58&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_7' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_07_发送失败_手机号码为空</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_7' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_7'>通过</button>
    <div id='div_pt1_7' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_7' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_7'>通过</button>
    <div id='div_pt1_7' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_7: &lt;suds.sax.document.Document object at 0x0000011128AA2278&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_8' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_08_发送失败_手机号码非11位</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_8' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_8'>通过</button>
    <div id='div_pt1_8' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_8' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_8'>通过</button>
    <div id='div_pt1_8' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_8: &lt;suds.sax.document.Document object at 0x0000011128B9C550&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_9' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_09_发送失败_短信模板为空</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_9' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_9'>通过</button>
    <div id='div_pt1_9' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_9' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_9'>通过</button>
    <div id='div_pt1_9' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_9: &lt;suds.sax.document.Document object at 0x0000011128AAF7F0&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='pt1_10' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_send_code_10_发送失败_短信模板不为1</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_10' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_10'>通过</button>
    <div id='div_pt1_10' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_10' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_10'>通过</button>
    <div id='div_pt1_10' class="collapse in">
    <pre style="text-align:left; ">
    
pt1_10: &lt;suds.sax.document.Document object at 0x0000011128B98F60&gt;


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_11' class='none'>
    <td class='failCase'><div class='testcase'>test_send_code_11_发送成功_短信模板非String类型</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft1_11' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_11'>失败</button>
    <div id='div_ft1_11' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft1_11' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft1_11'>失败</button>
    <div id='div_ft1_11' class="collapse in">
    <pre style="text-align:left; ">
    
ft1_11: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_AsendCode.py", line 60, in test_send_code
    raise e
  File "D:\AuditApiAutoTest\cases\test_AsendCode.py", line 52, in test_send_code
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'faultcode': 'soap:Server', 'faultstring': '短信模板配置错误'} != {'retCode': 0, 'retInfo': ok}
- {'faultcode': 'soap:Server', 'faultstring': '短信模板配置错误'}
+ {'retCode': 0, 'retInfo': ok} : 用例[发送成功-短信模板非String类型]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_12' class='none'>
    <td class='failCase'><div class='testcase'>test_send_code_12_发送失败_手机号码非String类型</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft1_12' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_12'>失败</button>
    <div id='div_ft1_12' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft1_12' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft1_12'>失败</button>
    <div id='div_ft1_12' class="collapse in">
    <pre style="text-align:left; ">
    
ft1_12: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_AsendCode.py", line 60, in test_send_code
    raise e
  File "D:\AuditApiAutoTest\cases\test_AsendCode.py", line 52, in test_send_code
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'faultcode': 'soap:Server', 'faultstring': '手机号码错误'} != {'retCode': 0, 'retInfo': ok}
- {'faultcode': 'soap:Server', 'faultstring': '手机号码错误'}
+ {'retCode': 0, 'retInfo': ok} : 用例[发送失败-手机号码非String类型]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr class='success'>
    <td>test_BuserRegister.TestUserRegisterApi: 用户注册接口</td>
    <td class="text-center">17</td>
    <td class="text-center">17</td>
    <td class="text-center">0</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c2',17)" class="detail" id='c2'>详细</a></td>
</tr>

<tr id='pt2_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_01_获取验证码</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_1' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_1'>通过</button></td>
</tr>

<tr id='pt2_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_02_注册失败_验证码缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_2' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_2'>通过</button></td>
</tr>

<tr id='pt2_3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_03_注册失败_用户名缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_3' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_3'>通过</button></td>
</tr>

<tr id='pt2_4' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_04_注册失败_注册渠道缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_4' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_4'>通过</button></td>
</tr>

<tr id='pt2_5' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_05_注册失败_密码缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_5' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_5'>通过</button></td>
</tr>

<tr id='pt2_6' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_06_注册失败_手机号缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_6' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_6'>通过</button></td>
</tr>

<tr id='pt2_7' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_07_注册失败_IP地址缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_7' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_7'>通过</button></td>
</tr>

<tr id='pt2_8' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_08_注册失败_验证码为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_8' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_8'>通过</button></td>
</tr>

<tr id='pt2_9' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_09_注册失败_用户名为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_9' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_9'>通过</button></td>
</tr>

<tr id='pt2_10' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_10_注册失败_注册渠道为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_10' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_10'>通过</button></td>
</tr>

<tr id='pt2_11' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_11_注册失败_登录密码为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_11' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_11'>通过</button></td>
</tr>

<tr id='pt2_12' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_12_注册失败_手机号码为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_12' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_12'>通过</button></td>
</tr>

<tr id='pt2_13' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_13_注册失败_验证码错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_13' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_13'>通过</button></td>
</tr>

<tr id='pt2_14' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_14_注册失败_注册渠道非_1_2_3_</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_14' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_14'>通过</button></td>
</tr>

<tr id='pt2_15' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_15_注册失败_手机号码错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_15' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_15'>通过</button></td>
</tr>

<tr id='pt2_16' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_16_注册成功_所有参数正确</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_16' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_16'>通过</button></td>
</tr>

<tr id='pt2_17' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_register_17_注册失败_手机号码已经被注册</div></td>
    <td colspan='5' align='center'><button id='btn_pt2_17' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt2_17'>通过</button></td>
</tr>

<tr class='danger'>
    <td>test_CverifyUserAuth.TestVerifyUserAuth: 实名认证接口</td>
    <td class="text-center">17</td>
    <td class="text-center">16</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c3',17)" class="detail" id='c3'>详细</a></td>
</tr>

<tr id='pt3_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_01_获取验证码</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_1' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_1'>通过</button></td>
</tr>

<tr id='pt3_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_02_帐号注册</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_2' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_2'>通过</button></td>
</tr>

<tr id='pt3_3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_03_认证失败_uid参数缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_3' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_3'>通过</button></td>
</tr>

<tr id='pt3_4' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_04_认证失败_真实姓名缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_4' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_4'>通过</button></td>
</tr>

<tr id='pt3_5' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_05_认证失败_身份证号缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_5' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_5'>通过</button></td>
</tr>

<tr id='pt3_6' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_06_认证失败_uid为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_6' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_6'>通过</button></td>
</tr>

<tr id='pt3_7' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_07_认证失败_真实姓名为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_7' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_7'>通过</button></td>
</tr>

<tr id='pt3_8' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_08_认证失败_身份证号为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_8' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_8'>通过</button></td>
</tr>

<tr id='pt3_9' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_09_认证失败_uid错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_9' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_9'>通过</button></td>
</tr>

<tr id='pt3_10' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_10_认证失败_真实姓名为非中文</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_10' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_10'>通过</button></td>
</tr>

<tr id='ft3_11' class='none'>
    <td class='failCase'><div class='testcase'>test_verify_user_auth_11_认证失败_真实姓名错误</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft3_11' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft3_11'>失败</button>
    <div id='div_ft3_11' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft3_11' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft3_11'>失败</button>
    <div id='div_ft3_11' class="collapse in">
    <pre style="text-align:left; ">
    
ft3_11: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_CverifyUserAuth.py", line 90, in test_verify_user_auth
    raise e
  File "D:\AuditApiAutoTest\cases\test_CverifyUserAuth.py", line 82, in test_verify_user_auth
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '0', 'retInfo': 'ok', 'Flstate': '无效'} != {'retCode': 0, 'retInfo': ok, 'Flstate': '有效'}
- {'Flstate': '无效', 'retCode': '0', 'retInfo': 'ok'}
?              ^               - -             -  -

+ {'Flstate': '有效', 'retCode': 0, 'retInfo': ok}
?              ^
 : 用例[认证失败-真实姓名错误]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='pt3_12' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_12_认证失败_身份证号错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_12' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_12'>通过</button></td>
</tr>

<tr id='pt3_13' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_13_认证失败_身份证号小于18位</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_13' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_13'>通过</button></td>
</tr>

<tr id='pt3_14' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_14_认证失败_身份证号大于18位</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_14' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_14'>通过</button></td>
</tr>

<tr id='pt3_15' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_15_认证成功_真实姓名正确</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_15' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_15'>通过</button></td>
</tr>

<tr id='pt3_16' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_16_认证失败_身份证已经被认证</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_16' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_16'>通过</button></td>
</tr>

<tr id='pt3_17' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_verify_user_auth_17_认证失败_uid未注册</div></td>
    <td colspan='5' align='center'><button id='btn_pt3_17' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt3_17'>通过</button></td>
</tr>

<tr class='danger'>
    <td>test_DbindBankCard.TestBindBankCard: 绑定银行卡接口</td>
    <td class="text-center">28</td>
    <td class="text-center">23</td>
    <td class="text-center">5</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c4',28)" class="detail" id='c4'>详细</a></td>
</tr>

<tr id='pt4_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_01_获取验证码</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_1' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_1'>通过</button></td>
</tr>

<tr id='pt4_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_02_帐号注册</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_2' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_2'>通过</button></td>
</tr>

<tr id='pt4_3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_03_实名认证</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_3' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_3'>通过</button></td>
</tr>

<tr id='pt4_4' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_04_绑定失败_uid缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_4' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_4'>通过</button></td>
</tr>

<tr id='pt4_5' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_05_绑定失败_支付密码缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_5' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_5'>通过</button></td>
</tr>

<tr id='pt4_6' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_06_绑定失败_绑定的银行卡手机号缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_6' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_6'>通过</button></td>
</tr>

<tr id='pt4_7' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_07_绑定失败_证件ID缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_7' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_7'>通过</button></td>
</tr>

<tr id='pt4_8' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_08_绑定失败_持卡人姓名缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_8' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_8'>通过</button></td>
</tr>

<tr id='pt4_9' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_09_绑定失败_卡号缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_9' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_9'>通过</button></td>
</tr>

<tr id='pt4_10' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_10_绑定失败_银行卡类型缺失</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_10' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_10'>通过</button></td>
</tr>

<tr id='ft4_11' class='none'>
    <td class='failCase'><div class='testcase'>test_bind_bank_card_11_绑定失败_银行名称缺失</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_11' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_11'>失败</button>
    <div id='div_ft4_11' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_11' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_11'>失败</button>
    <div id='div_ft4_11' class="collapse in">
    <pre style="text-align:left; ">
    
ft4_11: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 83, in test_bind_bank_card
    raise e
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 75, in test_bind_bank_card
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '19001', 'retInfo': '银行卡号检验错误'} != {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置}
- {'retCode': '19001', 'retInfo': '银行卡号检验错误'}
+ {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置} : 用例[绑定失败-银行名称缺失]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='pt4_12' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_12_绑定失败_uid为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_12' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_12'>通过</button></td>
</tr>

<tr id='pt4_13' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_13_绑定失败_支付密码为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_13' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_13'>通过</button></td>
</tr>

<tr id='pt4_14' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_14_绑定失败_绑定的银行卡手机号为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_14' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_14'>通过</button></td>
</tr>

<tr id='pt4_15' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_15_绑定失败_证件ID为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_15' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_15'>通过</button></td>
</tr>

<tr id='pt4_16' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_16_绑定失败_持卡人姓名为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_16' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_16'>通过</button></td>
</tr>

<tr id='pt4_17' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_17_绑定失败_卡号为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_17' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_17'>通过</button></td>
</tr>

<tr id='pt4_18' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_18_绑定失败_银行卡类型为空</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_18' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_18'>通过</button></td>
</tr>

<tr id='ft4_19' class='none'>
    <td class='failCase'><div class='testcase'>test_bind_bank_card_19_绑定失败_银行名称为空</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_19' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_19'>失败</button>
    <div id='div_ft4_19' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_19' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_19'>失败</button>
    <div id='div_ft4_19' class="collapse in">
    <pre style="text-align:left; ">
    
ft4_19: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 83, in test_bind_bank_card
    raise e
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 75, in test_bind_bank_card
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '19001', 'retInfo': '银行卡号检验错误'} != {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置}
- {'retCode': '19001', 'retInfo': '银行卡号检验错误'}
+ {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置} : 用例[绑定失败-银行名称为空]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='pt4_20' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_20_绑定失败_银行卡号18位错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_20' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_20'>通过</button></td>
</tr>

<tr id='ft4_21' class='none'>
    <td class='failCase'><div class='testcase'>test_bind_bank_card_21_绑定失败_银行名称错误</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_21' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_21'>失败</button>
    <div id='div_ft4_21' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_21' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_21'>失败</button>
    <div id='div_ft4_21' class="collapse in">
    <pre style="text-align:left; ">
    
ft4_21: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 83, in test_bind_bank_card
    raise e
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 75, in test_bind_bank_card
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '20042006', 'retInfo': '用户实名信息比对错误'} != {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置}
- {'retCode': '20042006', 'retInfo': '用户实名信息比对错误'}
+ {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置} : 用例[绑定失败-银行名称错误]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='pt4_22' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_22_绑定失败_证件ID与实名时身份证号不一致</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_22' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_22'>通过</button></td>
</tr>

<tr id='pt4_23' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_23_绑定失败_银行卡手机号非11位</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_23' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_23'>通过</button></td>
</tr>

<tr id='pt4_24' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_24_绑定失败_持卡人姓名错误</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_24' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_24'>通过</button></td>
</tr>

<tr id='pt4_25' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_25_绑定失败_银行卡号格式错误_大于18位_</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_25' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_25'>通过</button></td>
</tr>

<tr id='ft4_26' class='none'>
    <td class='failCase'><div class='testcase'>test_bind_bank_card_26_绑定失败_银行类型错误</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_26' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_26'>失败</button>
    <div id='div_ft4_26' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_26' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_26'>失败</button>
    <div id='div_ft4_26' class="collapse in">
    <pre style="text-align:left; ">
    
ft4_26: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 83, in test_bind_bank_card
    raise e
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 75, in test_bind_bank_card
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '20042006', 'retInfo': '用户实名信息比对错误'} != {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置}
- {'retCode': '20042006', 'retInfo': '用户实名信息比对错误'}
+ {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置} : 用例[绑定失败-银行类型错误]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='ft4_27' class='none'>
    <td class='failCase'><div class='testcase'>test_bind_bank_card_27_绑定成功_所有参数正确</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_27' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_27'>失败</button>
    <div id='div_ft4_27' class="collapse">  -->
    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_27' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_27'>失败</button>
    <div id='div_ft4_27' class="collapse in">
    <pre style="text-align:left; ">
    
ft4_27: Traceback (most recent call last):
  File "D:\AuditApiAutoTest\libs\ddt.py", line 165, in wrapper
    return func(self, *args, **kwargs)
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 83, in test_bind_bank_card
    raise e
  File "D:\AuditApiAutoTest\cases\test_DbindBankCard.py", line 75, in test_bind_bank_card
    self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title))
AssertionError: {'retCode': '0', 'retInfo': 'ok'} != {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置}
- {'retCode': '0', 'retInfo': 'ok'}
+ {'retCode': 20042018, 'retInfo': 用户交易密码不正确或未配置} : 用例[绑定成功-所有参数正确]测试失败


    </pre>
    </div>
    </td>
</tr>

<tr id='pt4_28' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_bind_bank_card_28_绑定失败_uid未认证</div></td>
    <td colspan='5' align='center'><button id='btn_pt4_28' type="button"  class="btn-xs" disabled="disabled" data-toggle="collapse" data-target='#div_pt4_28'>通过</button></td>
</tr>

<tr id='total_row' class="text-center info">
    <td>总计</td>
    <td>74</td>
    <td>66</td>
    <td>8</td>
    <td>0</td>
    <td>通过率：89.19%</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>
    <div style=" position:fixed;right:50px; bottom:30px; width:20px; height:20px;cursor:pointer">
    <a href="#"><span class="glyphicon glyphicon-eject" style = "font-size:30px;" aria-hidden="true">
    </span></a></div>
    
<script language="javascript" type="text/javascript">
output_list = Array();
// 修改按钮颜色显示错误问题 --Findyou v0.8.2.3
$("button[id^='btn_pt']").addClass("btn btn-success");
$("button[id^='btn_ft']").addClass("btn btn-danger");
$("button[id^='btn_et']").addClass("btn btn-warning");
/*level
增加分类并调整，增加error按钮事件 --Findyou v0.8.2.3
0:Pass    //pt none, ft hiddenRow, et hiddenRow
1:Failed  //pt hiddenRow, ft none, et hiddenRow
2:Error    //pt hiddenRow, ft hiddenRow, et none
3:All     //pt none, ft none, et none
4:Summary //all hiddenRow
*/
//add Error button event --Findyou v0.8.2.3
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level == 0 || level == 2 || level == 4 ) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level == 1 || level == 2 || level == 4) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'et') {
            if (level == 0 || level == 1 || level == 4) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
    }
    //加入【详细】切换文字变化 --Findyou
    detail_class=document.getElementsByClassName('detail');
	//console.log(detail_class.length)
	if (level == 3) {
		for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="收起"
		}
	}
	else{
			for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="详细"
		}
	}
}
//add Error button event --Findyou v0.8.2.3
function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '_' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        if (!tr) {
            tid = 'e' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        //修改点击无法收起的BUG，加入【详细】切换文字变化 --Findyou
        if (toHide) {
            document.getElementById(tid).className = 'hiddenRow';
            document.getElementById(cid).innerText = "详细"
        }
        else {
            document.getElementById(tid).className = '';
            document.getElementById(cid).innerText = "收起"
        }
    }
}
function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}
//添加圆饼图  zl    2018.7.23
function drawCircle(canvasId, data_arr, color_arr, text_arr) {
     var c = document.getElementById(canvasId);
     var ctx = c.getContext("2d");
     var radius = c.height / 2 - 20; //半径  
     var ox = radius + 20,
         oy = radius + 20; //圆心  
     var width = 10,
         height = 10; //图例宽和高  
     var posX = ox * 2 + 20,
         posY = 30; //  
     var textX = posX + width + 5,
         textY = posY + 10;
     var startAngle = 0; //起始弧度  
     var endAngle = 0; //结束弧度  
     for (var i = 0; i < data_arr.length; i++) {
         //绘制饼图  
         endAngle = endAngle + data_arr[i] * Math.PI * 2; //结束弧度  
         ctx.fillStyle = color_arr[i];
         ctx.beginPath();
         ctx.moveTo(ox, oy); //移动到到圆心  
         ctx.arc(ox, oy, radius, startAngle, endAngle, false);
         ctx.closePath();
         ctx.fill();
         startAngle = endAngle; //设置起始弧度  
         //绘制比例图及文字  
         ctx.fillStyle = color_arr[i];
         ctx.fillRect(posX, posY + 30 * i, width, height);
         ctx.moveTo(posX, posY + 30 * i);
         ctx.font = 'bold 15px 微软雅黑'; //斜体 30像素 微软雅黑字体  
         ctx.fillStyle = color_arr[i]; //"#000000";  
         var percent = text_arr[i] + "：" + (100 * data_arr[i]).toFixed(2) + " %";
         ctx.fillText(percent, textX, textY + 30 * i);
     }
 }

function init() {
     var text_arr = ["通过", "失败", "错误"];
     var color_arr = ["#5CB85C","#D2322D", "#F0AD4E"];
     var data_arr = [0.8918918918918919,0.10810810810810811,0.0];
     drawCircle("canvas_circle", data_arr, color_arr, text_arr);
 }

 window.onload = init;

</script>
</body>
</html>
